package com.xzmzhp.service.finance.impl;

import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.xzmzhp.dao.finance.FinanceImgMapper;
import com.xzmzhp.pojo.finance.FinanceImg;
import com.xzmzhp.service.finance.FinanceImgService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author: 王源(xm)
 * @create: 2022-03-25 14:06
 * @program: ams
 * @description: 财务图片逻辑交互类
 */
@Service
public class FinanceImgServiceImpl implements FinanceImgService {

    @Autowired
    private FinanceImgMapper financeImgMapper;

    /**
     * 根据财务图片id查询数据
     * @param id 财务图片id
     * @return 财务图片信息
     */
    @Override
    public FinanceImg findFinanceImgById(Integer id) {
        return financeImgMapper.selectById(id);
    }

    /**
     * 根据财务id查询数据
     * @param financeId 财务id
     * @return 财务图片信息
     */
    @Override
    public List<FinanceImg> findFinanceImgByFinanceId(Integer financeId) {
        //创建一个QueryWrapper的对象
        QueryWrapper<FinanceImg> wrapper = new QueryWrapper<>();
        //通过QueryWrapper设置条件
        //第一个参数是字段的名称 ， 第二个参数是设置的值
        wrapper.eq("finances_id" , financeId);
        return financeImgMapper.selectList(wrapper);
    }

    /**
     * 添加财务图片信息
     * @param financeImg 财务图片信息
     * @return 是否成功
     */
    @Override
    public Integer addFinanceImg(FinanceImg financeImg) {
        return financeImgMapper.insert(financeImg);
    }

    /**
     * 批量添加财务图片信息
     * @param financeImgs 财务图片信息
     * @return 是否成功
     */
    @Override
    public Integer addFinanceImgs(List<FinanceImg> financeImgs) {
        if (CollUtil.isNotEmpty(financeImgs)){
            return financeImgMapper.addFinanceImgs(financeImgs);
        }
        return null;
    }

    /**
     * 修改财务图片信息
     * @param financeImg 财务图片信息
     * @return 是否成功
     */
    @Override
    public Integer exitFinanceImg(FinanceImg financeImg) {
        return financeImgMapper.updateById(financeImg);
    }

    /**
     * 删除财务图片信息
     * @param id 财务图片id
     * @return 是否成功
     */
    @Override
    public Integer delFinanceImg(Integer id) {
        return financeImgMapper.deleteById(id);
    }

    /**
     * 根据财务id删除财务图片信息
     * @param financeId 财务图片信息
     * @return 是否成功
     */
    @Override
    public Integer delFinanceImgByFinanceId(Integer financeId) {
        //创建一个QueryWrapper的对象
        QueryWrapper<FinanceImg> wrapper = new QueryWrapper<>();
        //通过QueryWrapper设置条件
        wrapper.eq("finances_id" , financeId);
        return financeImgMapper.delete(wrapper);
    }
}
